package gdr.window.battle;

import gdr.player.*;
import gdr.window.menu.Opzione;
import gdr.battle.graphics.HumanGraphicalClient;
import gdr.dev.*;

/**
 * Mostra il menu delle statistiche di un giocatore durante la battaglia
 * @author Giorgio Vitale
 *
 */
public class BattleMenuShowStat extends BattleMenu{
	
	public BattleMenuShowStat(SuperGDR9000 gdr, HumanGraphicalClient humanClient){
		super(gdr, humanClient, "Mostra statistiche");
		setX(LEFT_BORDER);
		setY(TOP_BORDER);
		setHorizontal_align(LEFT);
		setAdattaLarghezza(true);
		setAdattaAltezza(true);
		setWidth(150);
		super.setVisible(false);
		super.setFocused(false);
		super.setNeedRefresh(true);
		int i = 0;
		addMenuOption(new Opzione("Classe"), i++, 0);
		addMenuOption(new Opzione("Nome"), i++, 0);
		addMenuOption(new Opzione("Livello"), i++, 0);
		addMenuOption(new Opzione("Exp"), i++, 0);
		addMenuOption(new Opzione("Next Lev"), i++, 0);
		addMenuOption(new Opzione("MOVE"), i++, 0);
		addMenuOption(new Opzione("HP"), i++, 0);
		addMenuOption(new Opzione("MP"), i++, 0);
		addMenuOption(new Opzione("ATK"), i++, 0);
		addMenuOption(new Opzione("DEF"), i++, 0);
		addMenuOption(new Opzione("MAG"), i++, 0);
		addMenuOption(new Opzione("RES"), i++, 0);
	}
	
	public void updateWindow(long elapsedTime){
		DefaultPlayer player = humanClient.getContainer().getData().getMap().getBattleMapUnit(humanClient.getCoordinate().getCenter()).getFirstPlayer();
		try{
			if (humanClient.getGateMenu().isFocused()){
				BattleGateMenu.OpzioneAggiungiPersonaggio opt = (BattleGateMenu.OpzioneAggiungiPersonaggio)humanClient.getGateMenu().getSelectedOption();
				player = opt.getPlayer();
			}	
		}
		catch(Exception e){}
		if (player==null || !humanClient.getContainer().getManager().isActiveTeam(humanClient.getClientTeam())){
			setVisible(false);
			return;
		}
		setVisible(true);
		int i=0;
		addMenuOption(new Opzione(player.getClasse().getName()),i++,1);
		addMenuOption(new Opzione(player.getName()),i++,1);
		addMenuOption(new Opzione(player.getLevel()+""),i++,1);
		addMenuOption(new Opzione(player.getEsperienzaTotale()+""),i++,1);
		addMenuOption(new Opzione(player.getExpNextLevel()+""),i++,1);
		addMenuOption(new Opzione(player.getMove()+""),i++,1);
		addMenuOption(new Opzione(player.getActualHP()+"/"+player.getMaxStat(Statistiche.HP)),i++,1);
		addMenuOption(new Opzione(player.getActualMP()+"/"+player.getMaxStat(Statistiche.MP)),i++,1);
		addMenuOption(new Opzione(player.getMaxStat(Statistiche.ATK)+""),i++,1);
		addMenuOption(new Opzione(player.getMaxStat(Statistiche.DEF)+""),i++,1);
		addMenuOption(new Opzione(player.getMaxStat(Statistiche.MAG)+""),i++,1);
		addMenuOption(new Opzione(player.getMaxStat(Statistiche.RES)+""),i++,1);
	}	
}
